home *** CD-ROM | disk | FTP | other *** search
/ Languguage OS 2 / Languguage OS II Version 10-94 (Knowledge Media)(1994).ISO / language / embedded / mcu / float09.arc / WARTS.SA < prev   
Text File  |  1987-03-04  |  6KB  |  195 lines

  1.  
  2.  
  3.  
  4.  
  5. * THIS FILE CONTAINS THE KNOWN WARTS TO THE AUG 15TH
  6. * TEST SITE RELEASE. MOST ARE NOT SIGNIFICANT ENOUGH
  7. * TO ISSUE A 'PATCH' TO THE EPROMS AND CAN EASILY BE
  8. * AVOIDED. IF A PATCH IS DEEMED DESIREABLE IT IS
  9. * GIVEN HERE TOO.
  10. *
  11. PROBLEM 1:
  12.    THE OUTPUT ROUTINE DOES NOT GENERATE A $0F FOR A
  13.    NEGATIVE SIGN FOR AN EXPONENT OR FRACTION. INSTEAD
  14.    IT GENERATES AN $FF.
  15.  
  16.    DATE FIXED:    20.AUG.80  /  G. STEVENS
  17.  
  18.    DESCRIPTION OF FIX:
  19.         INSERTED EQUATE IN BINSTR TO SET THE
  20.    SIGN PROPERLY.
  21. *
  22. PROBLEM 2: FABS AND FNEG WILL RETURN GARBAGE OUT IF
  23.    PASSED THEY ARE PASSED A DENORMALIZED NUMBER
  24.    WITH THE 'NORM' BIT SET IN THE FPCB.
  25.  
  26.    DATE FIXED:    18.AUG.80  /  G. STEVENS
  27.  
  28.    DESCRIPTION OF FIX:
  29.         FABS & FNEG NOW INVOKE THE COMPONENT
  30.    ROUTINE RTAR2 TO MOVE THE ARGUMENT TO THE RESULT.
  31.    THE REQUIRED CHECKS FOR THE APPARENT UNDERFLOW
  32.    CONDITION ARE PERFORMED IN RTAR2.
  33. *
  34. PROBLEM 3: COMPARE OF AN UNORMAL ZERO WITH A NORMAL
  35.    ZERO DOES NOT COMPARE EQUAL AS IT SHOULD.
  36.  
  37.    DATE FIXED:     19.AUG.80  /  G. STEVENS
  38.  
  39.    DESRIPTION OF FIX:
  40.         TABLE PROCEDURES FOR NOT NORMALIZED
  41.    NUMBERS NOW CHECK FOR A TRUE ZERO AS A RESULT OF
  42.    NORMALIZING AND INVOKE THE COMPARE ZERO PROCEDURE
  43.    IF BOTH ARGUMENTS ARE ZERO.
  44. *
  45. PROBLEM 4: AN OVERFLOW WITH NOTRAP SOMETIMES RETURNS
  46.    GARBAGE IN THE RESULT.
  47.  
  48.    DATE FIXED:    20.AUG.80  /  G. STEVENS
  49.  
  50.    DESCRIPTION OF FIX:
  51.          FIXED A TYPO IN UNFLNT THAT WAS CAUSING
  52.    AN INCORRECT PARAMETER TO BE PASSED TO THE MOVE
  53.    PROCEDURE.
  54. *
  55. PROBLEM 5: ONLY THE ADBIAS AND SUBIAS PROCEDURES SET
  56.    THE UNDERFLOW AND OVERFLOW FLAGS THUS A NOTRAP
  57.    UNDERFLOW OR OVERFLOW CONDITION IS NOT SIGNALED
  58.    IN THE STATUS BYTE.
  59.  
  60.    DATE FIXED:    21.AUG.80  /  G. STEVENS
  61.  
  62.    DESCRIPTION OF FIX:
  63.         THE OVERFLOW AND UNDERFLOW FLAGS ARE
  64.    NOW SET IN THE PROCEDURES THAT CHECK FOR OVERFLOW
  65.    UNDERFLOW INSTEAD OF THE ONES THAT ADD AND SUBTRACT
  66.    THE BIAS.
  67. *
  68. PROBLEM 6: THE TABLE PROCEDURE THAT HANDLES THE CASE
  69.    OF DIVIDE BY A NORMAL ZERO SIGNALS AN INVALID OP.
  70.    OF 17 AND RETURNS AN NAN IF THE DIV BY ZERO TRAP
  71.    IS ENABLED. IT APPEARS THAT THIS IOP( 17 ) IS NOT
  72.    NEEDED AND THAT THE RESULT OF A DIVISION BY ZERO
  73.    NORMALIZED ZERO SHOULD ALWAYS BE A PROPERLY SIGNED
  74.    INFINITY.
  75.  
  76.    DATE FIXED:     G. STEVENS  /    21.AUG.80
  77.  
  78.    DESCRIPTION OF FIX: REMOVED ANY TEST FOR THE DIV
  79.    TRAP FROM THE PROCEDURE DIVZER SO THAT IT ONLY
  80.    RETURNS PROPERLY SIGNED INFINITIES.
  81. *
  82. PROBLEM 7: OUTS WILL GOES INTO AN INFINITE LOOP
  83.    WHEN IT IS PASSED NOT NORMALIZED NUMBERS IN
  84.    PARTICULAR AN UNNORMALIZED ZERO.
  85.  
  86.    DATE FIXED:    G. STEVENS  /  22.AUG.80
  87.  
  88.    DESCRIPTION OF FIX:
  89.       PUT A TRAP FOR UNNORMAL ZEROS AT THE
  90.    START OF THE OUTS PROCEDURE, ALSO INSERTED THE
  91.    CORRECT CONSTANTS FOR THE LOG10X OF THE SMALL
  92.    NORMALIZED VALUES.
  93. *
  94. PROBLEM 8: ROUND DOES NOT SET THE INEXACT RESULT
  95.    FLAG IF THE RESULT ACTUALLY REQUIRES ROUNDING.
  96.  
  97.    DATE FIXED:     21.AUG.80  /  G. STEVENS
  98.  
  99.    DESRIPTION OF FIX:
  100.     ADDED CODE TO ROUND TO SET THE INEXACT
  101.    RESULT FLAG IN THE STATUS BYTE IN THE EVENT
  102.    THAT ROUNDING IS REQUIRED.
  103. *
  104. PROBLEM 9: UNDERFLOW WILL NOT BE SIGNALED IF THE
  105.    EXPONENT OF THE RESULT EQUALS EXACTLY THE
  106.    MINIMUM EXPONENT - 1. SIMILARILY, OVERFLOW
  107.    IS NOT SIGNALED IF THE RESULT EQUALS EXACTLY
  108.    THE MAXIMUM EXPONENT + 1.
  109.  
  110.    DATE FIXED:    25.AUG.80  /  G. STEVENS
  111.  
  112.    DESCRIPTION OF FIX:
  113.       A NEW MINIMUM EXPONENT TABLE IS USED
  114.    IN CHECK_UNDERFLOW & THE CONDITIONAL EXPRESSION
  115.    IS USED IN CHECK_OVERFLOW.
  116. *
  117. PROBLEM 10: IF THE UNORDERED CONDITION OCCURS
  118.    IN A PREDICATE COMPARE WHERE THE INPUT
  119.    PREDICATE WAS = OR <> THEN THE UNORDERED
  120.    BIT IN THE FPCB IS NOT SET.
  121.  
  122.    DATE FIXED:    26.AUG.80  /  G. STEVENS
  123.  
  124.    DESCRIPTION OF FIX:
  125.        INSERTED THE PROPER LOGIC IN STEP II OF
  126.    COMPARE TO SET THE UNORDERED FLAG WHEN UNORDERED
  127.    OCCURS.
  128.  
  129. *
  130.  
  131. PROBLEM 11: SOMETIMES BINDEC SETS THE INEXACT BIT WHEN
  132.    THE RESULT WAS EXACT
  133.  
  134.    DATE FIXED:    26.AUG.80  /  G. STEVENS
  135.  
  136.    DESCRIPTION OF FIX:
  137.          DECIDED THAT IN ACCORDANCE WITH THE STANDARD
  138.    THE RESULT OF BINDEC SHOULD NEVER BE EXACT AND THAT THE
  139.    USER SHOULD BE AWARE OF THIS. GIVEN THIS THE INEXACT BIT
  140.    IS NOW ALWAYS CLEARED UPON EXIT FROM BINDEC.
  141.  
  142. *
  143. PROBLEM 12: TRAPPING NANS CAUSE ALL SORTS OF FUNNY THINGS
  144.    TO HAPPEN. ALSO, THE STATUS BYTES IN THE FPCB ARE NOT
  145.    SET AT THE TIME OF A TRAP INVOCATION.
  146.  
  147.    DATE FIXED: 8-26-80
  148.  
  149.    DESCRIPTION OF FIX: MOVE THE CODE IN FRNBAK THAT MOVES THE
  150.       TEMPORARY STATUS FROM THE STACK FRAME TO THE FPCB FROM
  151.       'CLSTAK' TO 'TRAP'. ALSO CLEAR TSTAT AFTER THE TRAP
  152.       IS TAKEN.
  153.  
  154. *
  155. PROBLEM 13: IOP 7 (P OR K) OUT OF RANGE DOESN'T WORK PROPERLY
  156.    FOR EITHER BINDEC OR DECBIN.
  157.  
  158.    DATE FIXED: 8 - 27 - 80
  159.  
  160.    DESCRIPTION OF FIX: CHECK FOR P AND K OUT OF RANGE
  161.       IF P IS OUT OF RANGE DO IOP=7 AND SET P=19.
  162.       IF K IS OUT OF RANGE DO IOP=7 AND SET K=17
  163.  
  164. *
  165. PROBLEM 14: OVERFLOW NOTRAP ENABLED WITH ROUNDING MODE=RP AND
  166.    WITH A NEGATIVE NORMALIZED RESULT GIVES THE LARGEST
  167.    POSITIVE NUMBER RATHER THAN THE LARGEST NEGATIVE
  168.    NUMBER. ALSO RM, NEGATIVE RESULT GIVES PLUS INFINITY
  169.    INSTEAD OF MINUS INFINITY
  170.  
  171. DATE FIXED: 27 AUG. 1980
  172.  
  173. DESCRIPTION OF FIX: FIXED TYPOS IN 'NOTRAP'
  174.  
  175. *
  176. PROBLEM 15: THE INEXACT FLAG IS NOT BEING SET PROPERLY
  177.    IN DECBIN.
  178.  
  179.    DATE FIXED:
  180.  
  181.    DECRIPTION OF FIX:
  182.  
  183. *
  184. PROBLEM 16: THIS IS NOT EXACTLY A WART; BUT, RATHER, IS
  185.    AN UPDATE TO MAKE THE PACKAGE AGREE WITH DRAFT 6.0.
  186.    DENORMALIZED NUMBERS IN ROUNDING MODES RP OR RM WILL
  187.    NO LONGER FORCE NORMALIZE MODE.
  188.  
  189.    DATE FIXED: 29 AUG 1980
  190.  
  191.    DESCRIPTION OF FIX: CHANGED GETPUT TO IGNORE RP AND
  192.       RM IN NORMALIZE MODE TEST.
  193.  
  194. *
  195.